38 research outputs found

    Improving the Usability of Static Analysis Tools Using Machine Learning

    Get PDF
    Static analysis can be useful for developers to detect critical security flaws and bugs in software. However, due to challenges such as scalability and undecidability, static analysis tools often have performance and precision issues that reduce their usability and thus limit their wide adoption. In this dissertation, we present machine learning-based approaches to improve the adoption of static analysis tools by addressing two usability challenges: false positive error reports and proper tool configuration. First, false positives are one of the main reasons developers give for not using static analysis tools. To address this issue, we developed a novel machine learning approach for learning directly from program code to classify the analysis results as true or false positives. The approach has two steps: (1) data preparation that transforms source code into certain input formats for processing by sophisticated machine learning techniques; and (2) using the sophisticated machine learning techniques to discover code structures that cause false positive error reports and to learn false positive classification models. To evaluate the effectiveness and efficiency of this approach, we conducted a systematic, comparative empirical study of four families of machine learning algorithms, namely hand-engineered features, bag of words, recurrent neural networks, and graph neural networks, for classifying false positives. In this study, we considered two application scenarios using multiple ground-truth program sets. Overall, the results suggest that recurrent neural networks outperformed the other algorithms, although interesting tradeoffs are present among all techniques. Our observations also provide insight into the future research needed to speed the adoption of machine learning approaches in practice. Second, many static program verification tools come with configuration options that present tradeoffs between performance, precision, and soundness to allow users to customize the tools for their needs. However, understanding the impact of these options and correctly tuning the configurations is a challenging task, requiring domain expertise and extensive experimentation. To address this issue, we developed an automatic approach, auto-tune, to configure verification tools for given target programs. The key idea of auto-tune is to leverage a meta-heuristic search algorithm to probabilistically scan the configuration space using machine learning models both as a fitness function and as an incorrect result filter. auto-tune is tool- and language-agnostic, making it applicable to any off-the-shelf configurable verification tool. To evaluate the effectiveness and efficiency of auto-tune, we applied it to four popular program verification tools for C and Java and conducted experiments under two use-case scenarios. Overall, the results suggest that running verification tools using auto-tune produces results that are comparable to configurations manually-tuned by experts, and in some cases improve upon them with reasonable precision

    Using simulated annealing for computing test case-aware covering arrays

    Get PDF
    Exhaustive testing of highly configurable software systems is generally infeasible in practice. For this reason, efficient sampling of the configuration space is important to improve the coverage of testing. A t-way covering array is a list of systematically selected configurations covering all value combinations for every t-way option combinations and it aims to discover faults caused by interactions of configuration options. Despite its many successes, it can be difficult to use covering arrays in practice. Once a traditional t-way covering array is constructed, the system is then tested by running its test cases in all the selected configurations. By doing so, traditional covering arrays assume that all test cases can run in all configurations of covering array. Recent studies, however, show that test cases of configurable systems are likely to have assumptions about the underlying configurations, i.e., they are like to have some test case-specific inter-option constraints. When a configuration does not satisfy the test casespecific constraints of a test case, that test case simply skips the configuration, which prevents the test case from testing all valid combinations of option settings appearing in the configuration an effect called a masking effect. A harmful consequence of masking effects is that they can make the developers to believe that they have tested certain option setting combinations while they in fact have not. A solution approach is to use test case-aware covering arrays a novel type of combinatorial objects for testing that has been recently introduced. Test case-aware covering arrays take test case-specific inter-option constraints into account when computing combinatorial interaction test suites, such that no masking effects caused by overlooked constraints occur. Given a configuration space model augmented with test case-specific constraints, a test case-aware covering array is not just a set of configurations as is the case in traditional covering arrays, but a set of configurations each of which is associated with a set of test cases, indicating the test cases scheduled to be executed in the configuration. Although it has been empirically demonstrated that test case-aware covering arrays, compared to traditional covering arrays, can significantly improve the quality of combinatorial interaction testing by avoiding masking e ects, there is no efficient and effective algorithms to compute them, except for a couple of proof-of-concept algorithms. We conjecture that this greatly hurts the adaptation of test case-aware covering arrays in practice. In this thesis, we have developed simulated annealing-based, efficient and effective algorithms to compute test case-aware covering arrays and a tool implementing these algorithms. We, furthermore, compare and contrast the performance of our algorithms by conducting large-scale experiments in which we used two highly configurable large software systems. The results of our empirical studies strongly suggest that the proposed algorithms are an efficient and effective way of computing test case-aware covering arrays and that they perform better than existing approaches

    Rectal Dieulafoy Lesions: A Rare Etiology of Chronic Lower Gastrointestinal Bleeding

    Get PDF
    Dieulafoy lesion is rarely seen, yet it can be life-threatening. This lesion makes up to 1-2% of gastrointestinal bleedings and must definitely be considered in gastrointestinal bleedings whose source cannot be identified. In this case study, the 75-year-old woman was suffering from active, fresh, and massive rectal bleeding. Colonoscopy was applied in order to find out the source of bleeding. In the typical endoscopic appearance of the lesion a single round mucosal defect in the rectum and arterial bleeding were observed. To procure hemostasis, epinephrine was injected into the lesion and the bleeding vein was sutured

    Moving forward with combinatorial interaction testing

    Get PDF
    Combinatorial interaction testing (CIT) is an efficient and effective method of detecting failures that are caused by the interactions of various system input parameters. In this paper, we discuss CIT, point out some of the difficulties of applying it in practice, and highlight some recent advances that have improved CIT’s applicability to modern systems. We also provide a roadmap for future research and directions; one that we hope will lead to new CIT research and to higher quality testing of industrial systems

    Case Report Rectal Dieulafoy Lesions: A Rare Etiology of Chronic Lower Gastrointestinal Bleeding

    Get PDF
    Dieulafoy lesion is rarely seen, yet it can be life-threatening. This lesion makes up to 1-2% of gastrointestinal bleedings and must definitely be considered in gastrointestinal bleedings whose source cannot be identified. In this case study, the 75-year-old woman was suffering from active, fresh, and massive rectal bleeding. Colonoscopy was applied in order to find out the source of bleeding. In the typical endoscopic appearance of the lesion a single round mucosal defect in the rectum and arterial bleeding were observed. To procure hemostasis, epinephrine was injected into the lesion and the bleeding vein was sutured

    "Sinnig zwischen beiden Welten": Goethe und der islamische Orient

    No full text

    Approaches for computing test-case-aware covering arrays

    No full text
    Test-case-aware covering arrays have been recently introduced to overcome the shortcomings of standard covering arrays, which prevent some combinations of option settings from being exercised in the presence of test-case-specific constraints. A number of proof-of-concept approaches for computing test-case-aware covering arrays have also been presented in the aforementioned work. The main concern in the development of these approaches was neither their efficiency nor their effectiveness, but their correctness. On the other hand, efficient and effective ways of computing test-case-aware covering arrays are of great practical importance. To improve the applicability of test-case-aware covering arrays in practice, this work presents a number of efficient and effective approaches for computing them. Furthermore, the proposed approaches are evaluated by conducting a set of experiments on widely-used highly-configurable software systems and comparing their efficiency and effectiveness to those of the existing approaches in various practical testing scenarios

    Incidence and severity of retinopathy of prematurity in Turkey

    No full text
    Conclusions The findings of our study have the important implication that more mature babies are at risk of severe ROP requiring treatment. An effective programme for detecting and treating ROP should be established in Turkey

    Effects of Lower Extremity Revascularization on the Endothelial Functions Measured With Noninvasive Brachial Artery Flow-Mediated Dilatation

    No full text
    Background: Endothelial function is best measured with the noninvasive brachial artery flow-mediated dilatation (FMD) method. Peripheral arterial diseases and systemic cardiovascular diseases have FMD-lowering effect. The effects of lower extremity ischemia are associated with muscle inflammation and claudication, which may further lead to arterial stress. Our aim in this study was to investigate the effects of peripheral arterial revascularization on the endothelial functions through noninvasive brachial artery FMD
    corecore